package com.iscas.tech.service;

import com.iscas.tech.entity.AtScitegach;
import com.iscas.tech.param.PageParam;
import com.iscas.tech.vo.AtScitegachDetailQueryVo;
import com.iscas.tech.vo.AtScitegachQueryVo;
import com.iscas.tech.vo.MdWithTechGain;
import io.geekidea.springbootplus.framework.common.service.BaseService;
import io.geekidea.springbootplus.framework.pagination.Paging;

/**
 * 科技成果表 服务类
 *
 * @author yangyi
 * @since 2020-10-26
 */
public interface AtScitegachService extends BaseService<AtScitegach> {

    /**
     * @param param 科技成果详情
     * @return 新增结果
     * @throws Exception 新增异常
     */
    boolean saveTechGain(MdWithTechGain param) throws Exception;

    /**
     * @param param 科技成果详情
     * @return 修改科技成果
     * @throws Exception 修改异常
     */
    boolean updateAtScitegach(MdWithTechGain param) throws Exception;

    /**
     * @param ids ID字符串，以“,”分隔
     * @return 删除科技成果
     * @throws Exception 删除异常
     */
    boolean deleteTechGain(String ids) throws Exception;

    /**
     * 分页获取科技成果列表
     *
     * @param pageParam 分页参数
     * @param audit     审核状态
     * @return 科技成果列表
     * @throws Exception 查询异常
     */
    Paging<AtScitegachQueryVo> getTechGain(PageParam pageParam, Integer audit) throws Exception;

    /**
     * 查询科技成果详情
     *
     * @param id 科技成果ID
     * @return 科技成果详情
     */
    AtScitegachDetailQueryVo get(Long id);

    /**
     * @param id 科技成果主键ID
     * @return 审核科技成果
     */
    Boolean checkTechGain(Long id) throws Exception;

}
